#out:test1.o
#	gcc test1.o -o out

#test1.o:test.c
#	gcc -c test.c -o test1.o

#all:out aa
#
#out:test.o
#	gcc test.o -o out
#
#
#
#aa:a.c
#	gcc a.c -o aa
#
#
#
#test.o:test.c
#	gcc -c test.c -o test.o
#
#
#
#
#
#$@：目标对象
#$^:所有依赖的对象
#$<：依赖的第一个对象

SRC=$(wildcard *.c)
OBJ=$(patsubst %.c, %.o, $(SRC))
BIN=out

CFLAGS=-g

$(BIN):$(OBJ)
	gcc  $^ -o $@

%.o:%.c
	gcc -c $(CFLAGS) $< -o $@

clean:
	rm $(BIN) $(OBJ)
